package _6排序;

import java.util.Arrays;
import java.util.Date;

public class SortArrayDemo2
{

	public static void main(String[] args)
	{
		// 随机生成一个大数组
		int[] math = new int[100000];
		for(int i=0;i<100000;i++)
		{
			math[i]= (int)(Math.random()*1000);
		}
		System.out.println("排序前:"+Arrays.toString(math));
		
		
		Date d1 = new Date();
		
//		// 自己写的冒泡排序
//		bubbleSort(math);
		//排序耗费了:15336ms
//		
//		// Arrays类中提供了一个排序方法
		Arrays.sort(math);
//		排序耗费了:14ms
//		
		Date d2 = new Date();
//		
		System.out.println(d1);
		System.out.println(d2);
		System.out.println("排序耗费了:"+(d2.getTime()-d1.getTime())+"ms");
//		
//		System.out.println("排序后:"+Arrays.toString(math));
	}
	
	public static void bubbleSort(int[] arr)
	{
		// 轮
		for(int i=0;i<arr.length-1;i++)
		{
			// 次
			for(int j=0;j<arr.length-i-1;j++)
			{
				// 如果前面>后面那个 交换里面的数值
				if(arr[j]<arr[j+1])
				{
					int z = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = z;
				}
			}
		}
	}

}

// 第一轮 5次 比较  (13 20 15 7 3)
//   13 20 15 7 3
//   13 15 20 7 3  
//   13 15 7  20 3 
//   (13 15 7  3 )(20)

// 第二轮 (13 15 7  3 )(20)
//  13 15 7 3  (20)
//  13  7 15 3 (20)
//  (13  7  3) (15 20)

// 第三轮 (13  7  3) (15 20)
// (7  13  3) (15 20)
// (7  3 ) (13 15 20)

//第四轮 (7  3 ) (13 15 20)
//	(3  7 13 15 20)



// 数组长度如果是5
// 最多需要4轮比较


//https://www.cnblogs.com/itsharehome/p/11058010.html
